package com.sdry.mapper.llm;

import java.util.List;
import java.util.Map;

import com.sdry.model.llm.Employee;
import com.sdry.model.llm.Team;
import com.sdry.model.llm.User;

/** 
* 员工mapper
* @author lian 
* @version 1.0
* @time 2018年10月17日 上午12:41:53
*/
public interface EmployeeMapper {

	/**
	 * 查询员工数据总行数
	 * @param user 员工
	 * @return
	 */
	int countEmp(Employee emp);
	
	/**
	 * 分页查询员工
	 * @param map 参数集合
	 * @return
	 */
	List<Employee> listPageEmp(Map<String, Object> map);

	/**
	 * 添加员工
	 * @param emp 员工
	 * @return
	 */
	int insertEmp(Employee emp);

	/**
	 * 修改员工
	 * @param emp 员工
	 * @return
	 */
	int updateEmp(Employee emp);

	/**
	 * 删除员工
	 * @param id 
	 * @return
	 */
	int deleteEmp(Long id);
	
	/**
	 * 查询班组人数
	 * @param tname 班组名称
	 * @return
	 */
	int countByTeam(String tname);
	
	/**
	 * 查询班组所有员工
	 * @param tname 班组名称
	 * @return
	 */
	List<Employee> listByTeam(String tname);
	
	/**
	 * 查询所有员工
	 * @return
	 */
	List<User> listAllEmp();

	/**
	 * 根据用户ID查询数据
	 * @param uid
	 * @return
	 */
	List<Employee> findEmployeeByUid(Long uid);

	/**
	 * 查看班组中是否已有该员工
	 * @param emp
	 * @return
	 */
	Employee findEmpByUidAndTid(Employee emp);

	/**
	 * 根据班组ID查询数据
	 * @param tid
	 * @return
	 */
	List<Employee> findEmployeeByTid(Long tid);

	/**
	 * 根据部门ID查询数据
	 * @param did
	 * @return
	 */
	List<Employee> findEmployeeByDid(Long did);

	/**
	 * 根据ID查询数据
	 * @param id
	 * @return
	 */
	Employee findEmployeeById(Long id);

	/**   
	 * 查询所有班组的员工        
	 * @return             
	 */
	List<User> listAllUserInTeam();

	/**   
	 * 根据员工ID和班组ID删除关系表
	 * @Title:deleteEmpByUidAndTid   
	 * @param tempTeam             
	 */
	Integer deleteEmpByUidAndTid(Team tempTeam);

}
